import { SSHErrorCodeConst } from '../consts'

export const SSHErrorMsgMap_Name = 'SSHErrorMsgMap'

export const SSHErrorMsgMap = {
  // 连接类错误
  [SSHErrorCodeConst.ECONNREFUSED]: {
    message: '连接被拒绝',
    detail: '检查目标服务器主机端口是否开放，SSH 服务是否运行'
  },
  [SSHErrorCodeConst.ETIMEDOUT]: {
    message: '连接超时',
    detail: '检查网络连通性或连接目标服务器主机配置是否正确，或调整超时时间'
  },
  [SSHErrorCodeConst.EHOSTUNREACH]: {
    message: '目标服务器主机不可达',
    detail: '验证服务器主机 IP 地址/域名是否正确，检查本地路由'
  },
  [SSHErrorCodeConst.EAUTH]: {
    message: '用于连接服务器主机的用户身份验证失败',
    detail: '检查用户名/密码/密钥是否正确，确认密钥权限(chmod 600)'
  },
  // 命令执行类错误
  [SSHErrorCodeConst.ENOENT]: {
    message: '远程命令不存在',
    detail: '确认目标服务器已安装该命令'
  },
  [SSHErrorCodeConst.EACCES]: {
    message: '命令执行权限不足',
    detail: '可以尝试使用 sudo 或检查用户权限'
  },
  // SFTP 类错误
  [SSHErrorCodeConst.NO_SUCH_FILE]: {
    message: '文件不存在',
    detail: '检查文件路径是否正确'
  },
  [SSHErrorCodeConst.PERMISSION_DENIED]: {
    message: '文件权限不足',
    detail: '检查文件读写权限，或使用 sudo'
  },
  // 未知错误
  [SSHErrorCodeConst.UNKNOWN]: {
    message: '未知错误',
    detail: '请查看原始错误信息排查问题'
  }
}
